package src;


public class Tagesgeldkonto extends AbstractKonto{
	
	static float DEFAULT_FEE = 5.20f;
	static float BUCHUNGSGEBUEHR = 0.10f;
	private float dispositionskredit = 500;

	public Tagesgeldkonto(float saldo){
		super( DEFAULT_FEE, saldo);
	}
	
	public float auszahlen(float betrag) throws KontoActionException{
		if(!gesperrt && (saldo + dispositionskredit) >= (betrag + BUCHUNGSGEBUEHR)){
			saldo -= (betrag+ BUCHUNGSGEBUEHR);
		}else{
			KontoActionException kge = new KontoActionException();
			throw kge;
		}
		return saldo;
	}
	
	public float getDispositionskredit(){
		return dispositionskredit;
	}
	public void setDispositionskredit(float dispo){
		dispositionskredit = dispo;
	}
	
	public float getLimit(){
		return saldo-BUCHUNGSGEBUEHR;
	}
	
	public boolean writePin(String _pin){
		if(MD5pin.equals("")){
			MD5pin = makeMD5(_pin);
		}
		return false;
	}
	
	public boolean checkPin(String _pin){
		if(makeMD5(_pin).equals(MD5pin)){
			return true;
		}
		return false;
	}
	
	public String print(){
		String out = this.getClass().getSimpleName() + ":\n";
		out+= "\tSaldo: \t\t" + this.getSaldo();
		out+= "\n\tKontonummer:\t" + this.getNr();
		out+= "\n\tPinhash:\t" + this.MD5pin;
		out+= "\n\tgesperrt: \t" + (this.isGesperrt() ? "ja" : "nein");
		
		return out;
	}
}
